﻿using Dapper;
using Estsh.Core.Base;
using Estsh.Core.Model.Extend.Models;
using Estsh.Core.Models;
using Estsh.Core.Repositories;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Estsh.Core.Wms.IRepositories
{
    public interface IQuicklyInStockRepository : IBaseRepository<BaseEntity>
    {
        public List<SysLocate> GetLocateByName(string locateName);
        public List<SysStock> GetStockQtyByLocate(string locateName);
		public List<SysStock> GetUpdateStockByGroupNo(string locateName);
		public List<SysStock> GetStockPartByGroupNo(string groupNo);
        public List<SysStock> GetStockByCartonNo(string cartonNo);
        public List<SysLocate> GetLocateAndPartByLocate(string locateName);
        public List<SysStock> GetStockQtyByGroupNo(string groupNo);
        public List<SysStock> GetStockByGroupNo(string groupNo);
        public List<SysStock> GetStockInByGroupNo(string groupNo);
        public List<SysStock> GetStockInByCartonNo(string CartonNo);
        public List<SysStock> GetStockByLocateName(string locateName);
        public List<SysStock> GetStockInRefOrderNo(string refOrderNo);
        public int SQLTransaction(List<string> sqlStrings, List<DynamicParameters> parameterList);






		public List<SysStock> GetStockByCartonNoN(string cartonNo);
		public List<SysStock> GetStockByStatusByCartonNo(string cartonNo);

        public List<WmsRackPackage_Extend> GetWmsRackPackageType(string cartonNo);
        public List<SysStock> GetWmsRackPackageByStock(string cartonNo);
        public List<SysStock> GetWmsByStock(string cartonNo);
		public List<WmsRack_Extend> GetRackTypeN(string cartonNo);

        public List<WmsRackPackage_Extend> GetStockOrRackList(string cartonNo);
        public void GetStockByRackListDown(string cartonNo, string factoryId, ref List<SysStock> GetAllStock);
        public void GetStockOrRackList2(WmsRackPackage_Extend wmsRack);
		public void GetStockOrRackList3(WmsRackPackage_Extend wmsRack);

		public List<WmsOutstockDetail> GetOutstockDetailList(string cartonNo,string partId);
	}
}
